Debugging of Optimized Behavioral Speci

ثبت نشده
چکیده

Symbolic debuggers are system development tools that can accelerate the validation speed of behavioral speciications by allowing a user to interact with an executing code at the source level. In response to a user query, the debugger must be able to retrieve and display the value of a source variable in a manner consistent with what the user expects with respect to the source statement where execution has halted. However, when a behavioral speciication has been optimized using transformations, values of variables may either be inaccessible in the run-time state or inconsistent with what the user expects. In this paper, we address the problem that pertains to the retrieval of source values for globally optimized behav-ioral speciications. We have developed a set of techniques that, given a behavioral speciication CDFG, enforce computation of a selected subset Vcut of user variables such that (i) all other variables v 2 CDFG can be computed from Vcut and (ii) this enforcement has minimal impact on the optimization potential of the computation. The implementation of the new debugging approach poses several optimization tasks. We have formulated the optimization tasks and developed heuristics to solve them. The eeectiveness of the proposed approach has been demonstrated on a set of benchmark designs. 1 Introduction Functional debugging of hardware and software systems has emerged as a dominant step with respect to time and cost of the development process. For example, debugging (architecture and functional veriication) of the UltraSPARC-I took twice as long as its design Yan95]. The diiculty of verifying designs is likely to worsen in the future, since the key technological trends indicate that the percentage of controllable and observable variables in designs will steadily decrease. The Intel development strategy team foresees that a major design concern for their year-2006 microprocessor will be the need to exhaustively test all possible computational and compatibility combinations Yu96]. Symbolic debuggers are system development tools that can accelerate the validation speed of behavioral speciica-tions by allowing a user to interact with an executing code at the source level Hen82]. Symbolic debugging must ensure that in response to a user inquiry, the debugger is able to retrieve and display the value of a source variable in a manner consistent with what the user expects with respect to a breakpoint in the source code. The application of code optimization techniques usually makes symbolic debugging harder. While code optimization techniques such as transformations …

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Behavioral Interface Speci cation Languages

Behavioral interface speci cation languages allow programmers to express the intended behavior of programs such as functional behavior and resource consumption. Formal speci cations of program behavior is useful for precise documentation, for the generation of test cases and test oracles, for debugging, and for formal program veri cation. In this paper, we survey behavioral interface speci cati...

متن کامل

Symbolic debugging of embedded hardware and software

Symbolic debuggers are system-development tools that can accelerate the validation speed of behavioral specifications by allowing a user to interact with an executing code at the source level. In response to a user query, the debugger must retrieve and display the value of a source variable in a manner consistent with user expectations with respect to the source statement where execution has ha...

متن کامل

Static and Dynamic Speci cation Slicing

A speci cation slice is a projection of a formal speci cation, which is simpler and potentially more comprehensible than the original speci cation. A static speci cation slice contains speci cations that might restrict the value of a variable. A dynamic speci cation slice consists of speci cations that actually a ect the value of a variable along the sequence of operations performed. Dynamic sp...

متن کامل

Enhancing the Pre- and Postcondition Technique for More Expressive Specifications

We describe enhancements to the preand postcondition technique that help speci cations convey information more e ectively. Some enhancements allow one to specify redundant information that can be used in \debugging" speci cations. For instance, adding examples to a speci cation gives redundant information that may aid some readers, and can also be used to help ensure that the speci cation says ...

متن کامل

Logical Debugging

Logic programming o ers a distinctive feature that is rarely met by other traditional programming languages: namely, one can use logic for both speci cation and computation. We present a methodology for reasoning about logic programs and their speci cations. This methodology can be applied to program debugging as well as program synthesis. We focus on the use of executable speci cations to gene...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999